液晶表示器について
市販の液晶表示器には、16文字×2行のLCDと、20文字×4行のLCDが一般的ですので、この2種類のLCDモジュールを使って、まずはPICから簡単な文字表示をするプログラムを作っていくことにします。また、読者の方々にも汎用的に使っていただくために、パソコンからシリアルデータ通信(RS232C)を介して文字表示をするといったプログラムも紹介していくつもりです。最終的にはスペアナのデータ表示などに応用できればと思っています。
なお、秋月電子通商では、「PICLCDキット」としてRS232Cでシリアル制御を行うキットが発売されておりますが、このキットではRS232Cとのインターフェースが簡略化されております。表示器単体での動作だけなら、簡易的な構成でもよいのですが、DDSキットと組み合わせたり、あるいは他のシリアルデータ通信も一緒に行うといった構成には残念ながら不向きです。やはりインターフェースには、レベル変換ICを用いる構成にするべきです。また、PICLCDキットに付属のソフトですが、いまだにコントロールソフトがDOS用です。そこで、WINDOWS用に改変してアレンジしていくことにしましょう。
PICLCDキットの説明書の最後に次のようなコメントがありました。「このキットは、マニュアル通りに製作して使っていただいても構いませんが、このキットを元に、お客様が自由に改造・カスタマイズしていただくことで、目的に合ったユニットとなるように・・・・・」と記されております。ということで、汎用的にいろいろ使えるLCDキットにしていきたいと考えています。
液晶表示器の外観
図1に液晶表示器の表面外観、および図2に裏面外観を示します。上が、SC1602BSLB(16文字×2行)で、下が SC2004C(20文字×4行)と大きさを比較するために並べています。いずれも、SUNLIKE社製で秋月電子通商で購入したものです。値段ですが、16文字×2行で1200円,20文字×4行で2400円となっていました。なお、この液晶表示器にはLEDバックライトの有無があります。バックライト無しの液晶表示器でしたら、16文字×2行で800円,20文字×4行で2200円となっています。
![]() |
![]() |
図1.液晶表示器の表面外観 | 図2.液晶表示器の裏面外観 |
図3及び図4に、液晶表示器の外形寸法図を示します。(詳細は、SUNLIKE社データシートを参照)
![]() |
![]() |
![]() |
図3.外形寸法図 [SC1602BSLB(16文字×2行)の場合] |
![]() |
![]() |
![]() |
図4.外形寸法図 [SC2004C(20文字×4行)の場合] |
液晶表示器の電気的特性
表1に液晶表示器の電気的特性について記載します。
項目 | 記号 | 規格値 | 単位 | 備考 | |||
Min | Typ | Max | |||||
LCD動作電圧 | VDD-VO | − | 4.8 | − | V | T= 0℃ | |
− | 4.5 | − | V | T=25℃ | |||
− | 4.2 | − | V | T=50℃ | |||
電源電圧 | VDD-VSS | 4.7 | 5 | 5.3 | V | − | |
消費電流 | IDD | − | 2 | 4 | mA | SC1602B(16x2) | |
− | 3.2 | 6 | mA | SC2004C(20x4) | |||
入力電圧(注1) | High | VIH1 | 2.2 | − | VDD | V | − |
Low | VIL1 | 0 | − | 0.6 | V | ||
出力電圧(注2) | High | VOH1 | 2.4 | − | − | V | − |
Low | VOL1 | − | − | 0.4 | V |
(注1)DB0〜DB7,E,R/W,RS端子に適用
(注2)DB0〜DB7端子に適用
液晶表示器のコネクタ・ピン配置
図5に液晶表示器のコネクタピン配置と、表2に信号内容を示します。
![]() |
図5.コネクタピン配置 |
<注意事項>
16文字×2行 と 20文字×4行の液晶表示器では、同じSUNLIKE社の製品でありながら、電源の接続(VDDとVSS)だけが逆になっています。もしも間違えると壊れる可能性大です。差し替えの際には十分注意してください。
ピン番号 | 記号 | 内容 | 備考 |
1 | VDD | +5V電源 | SC1602BSLB(16文字×2行) |
2 | VSS | GND | |
1 | VSS | GND | SC2004C(20文字×4行) |
2 | VDD | +5V電源 | |
3 | VO | コントラスト調整電源 | VSSで最も濃くなる |
4 | RS | レジスタ選択信号 | コマンド/データ選択(H=データ,L=コマンド) |
5 | R/W | 読み出し/書き込みの選択信号 | リード/ライト選択(H=リード,L=ライト) |
6 | E | 動作起動信号(イネーブル) | Hでストローブ |
7 | DB0 | 下位4ビットのデータバス | 8ビットモードの時に使用する |
8 | DB1 | ||
9 | DB2 | ||
10 | DB3 | ||
11 | DB4 | 上位4ビットのデータバス (4ビットモード時で使用する) |
|
12 | DB5 | ||
13 | DB6 | ||
14 | DB7 |
液晶表示器のブロック図
図6に液晶表示器のブロック図を示します。電源関連の端子として、+5V電源(VDD),GND(VSS),コントラスト調整電源(Vo)があります。また、LEDバックライトがついている液晶表示器には、アノード端子(A),カソード端子(K)があります。LCDコントローラーには、それぞれ8ビットのデータバス信号(DB0〜DB7),動作起動信号(E),読み出し/書き込みの選択信号(R/W),レジスタ選択信号(RS)端子があります。液晶表示器の内部では、LCDコントローラからLCDパネルへ、それぞれコモン信号(COM:16本),セグメント信号(SEG:40本)が接続されており、またLCDコントローラからLCDセグメントドライバへ、1本のシリアルデータ信号と3本のタイミング信号が合わせて4本接続されています。LCDセグメントドライバからLCDパネルへは、16文字×2行の液晶表示器の場合でセグメント信号(SEG:40本)、20文字×4行の液晶表示器の場合でセグメント信号(SEG:160本)が接続されています。
![]() |
図6.液晶表示器のブロック図 |
制御信号のタイムチャート
図7に液晶表示器の制御信号のタイムチャートを示します。制御関連の端子として、読み出し/書き込みの選択信号(R/W),レジスタ選択信号(RS),動作起動信号(E)端子の3つと、8つの入出力データ信号(DB0〜DB7)があります。
制御信号のポイント
動作起動信号(E)を、他の制御信号より常に内側に入るようなタイミングに設定する
ただし、動作起動信号(E)は最小220nsのパルス幅を確保する必要があります。たとえば、命令で連続してON,OFFした場合、PIC命令の1サイクルの実行時間は、1サイクル実行時間=4/クロック周波数となっていますので、クロック周波数が20MHz(50ns)の場合は、4/20MHz=4*50ns=200nsとなります。1命令文で連続してON,OFFした場合、20MHzのクロック周波数では、十分なパルス幅を確保できません。したがって、間にNOP命令などを挿入して十分なパルス幅をとる必要があります。
![]() |
図7(a).書き込み時のタイミングチャート |
![]() |
図7(b).読み込み時のタイミングチャート (ビジー信号入力) |
液晶表示器の内部アドレス
表3に、SC1602BSLB(16文字×2行)、表4にSC2004C(20文字×4行)の液晶表示器の内部アドレスを示します。16文字対応で作成されたプログラムと互換をとるために、20文字液晶では1桁目のアドレスが飛んでいます。
桁 | |||||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ||
行 | 1 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
2 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F |
桁 | |||||||||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | ||
行 | 1 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 10 | 11 | 12 | 13 |
2 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | 50 | 51 | 52 | 53 | |
3 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | |
4 | 54 | 55 | 56 | 57 | 58 | 59 | 5A | 5B | 5C | 5D | 5E | 5F | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
文字コードと文字パターンの対応
表5に文字コードと文字パターンの対応表を示します。上位4ビットが0000の(1)〜(8)はCG
RAMの領域です。
![]() |
[次へ]は、液晶表示器のインストラクションについて解説していきます。
![]() |
![]() |
![]() |